Variable length or statistical encoders are designed to encode fixed length codewords with variable length codewords for signal transmission or storage purposes. On average this technique reduces the amount of data being transmitted or stored. Variable length coding, VLC, consists of determining the general statistics of a signal type to discern the frequency of occurrence of the respective amplitude values within the dynamic range of the signal to be coded, and then forming a code set of variable length codewords representing a similar dynamic range. Thereafter a correspondence is established between the input fixed length codewords and the variable length codewords such that input codewords occurring with the greatest frequency are assigned variable length codes of shorter bit width. Input codewords occurring most frequently are assigned variable length codewords of lesser bit-width then the input codewords thereby effecting on average the data reduction. Nominally once the variable length codeword-input codeword correspondence is established, the variable length codes are loaded in a memory at address locations in accordance with this correspondence. The input codewords are applied as addresses to the memory and the memory output provides the VLC encoded signal. Decoding is performed with a reciprocal table (in memory) at the receiver.
It is not uncommon for signal statistics to change such that a particular VLC may become less than efficient. This may be counteracted by continually monitoring the input signal statistics, and when they change by some predetermined measure, changing the variable length code to a more efficient variable length code. The respective codes may be loaded as separate tables in the encoding/decoding memories, with table selection accomplished by a control signal applied to a more significant memory address bit. (Selecting various tables in a common memory is a well known technique.)
If a plurality of tables are to be used for encoding a signal, VLC table changes at the encoder must be communicated to the receiver. Some known systems transmit the decoding tables whenever a VLC switch is effected. This of course is impractical if the signal statistics change frequently. Other systems transmit a Table Type codeword along with the encoded data, to inform the receiver that a code switch is effective and which of a plurality of tables to use for decoding. For systems that require frequent VLC changes, and have little signal overhead available, the Table Type codewords may overtax this type of system. A third situation arises wherein a system signal protocol has been standardized without provision for the foregoing types of VLC change, and it is desirable to use VLC changes in a system using the protocol. An example of such a system/protocol is the compressed video signal format being established by the Moving Picture Experts Group of the International Standardization Organization, and known as MPEG.